home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC6-Native.exe / {app} / documentation / ChangeLog.txt < prev    next >
Encoding:
Text File  |  2005-11-26  |  18.7 KB  |  273 lines

  1. Crazy Eddie's GUI System Mk-2
  2. http://www.cegui.org.uk
  3.  
  4. Copyright 2004 - 2005 CEGUI Team & Contributing Authors
  5.  
  6.  
  7. The following is a high-level view of changes made to the system between releases.
  8.  
  9. Release 0.4.1
  10. =============
  11. Added: Samples support for Mac OS X Build.
  12. Added: Window renaming functionality.
  13. Added: Logging of error when trying to unload a non-existant scheme.
  14. Added: "Lost device" handlers for OpenGLRenderer (grab/restoreTextures).
  15.  
  16. Modified: Updates to Xcode project to account for differing build paths and some link issues.
  17. Modified: Updated version numbers, CPU tuning setting, deployment build paths and library build style for MacOS X builds.
  18. Modified: Changed default settings for doxygen documentation - is now more minimal and thefore more readable.
  19. Modified: Simplified required setup to use Ogre CEGUI Renderer with the samples (now just requires access to Ogre modules and a plugins.cfg).
  20.  
  21. Bug Fix: Endianness issues in OpenGL renderer on Mac. (patch #1309172)
  22. Bug Fix: Typo in Falagard bundle plist (Mac) that prevented loading. (patch #1309172)
  23. Bug Fix: Resolved some behavioural mis-match issues with TabControl; removeChildWindow can now be used as expected to remove content.
  24. Bug Fix: Changing the default mouse cursor in the System object did not result in an immediate change when appropriate.
  25. Bug Fix: Cleanup properly if layout loading fails when loading a sub-layout (imported layout).
  26. Bug Fix: 'Vanilla' skin showed rendering artefacts when scaled.
  27. Bug Fix: Lots of missing API docs.
  28. Bug Fix: 'static const' <-> 'const static' issue in renderers (mainly affected parsing by binding generators).
  29. Bug Fix: Win32 type issue in MSVC++ 8.
  30. Bug Fix: Issue in sample framework with MSVC++ using Unicode character mode.
  31. Bug Fix: FrameWindow does a re-layout of children when text changes to allow using a FontDim to set the titlebar dimensions.
  32. Bug Fix: Issues when writing xml for Window / MCL properties (patch #1353395)
  33. Bug Fix: Fixed various issues related to window type aliasing not working as expected in all cases.
  34. Bug Fix: CEGUI::String stream output operator was not exported under MSVC++.
  35. Bug Fix: Fixed a bug in String class
  36. Bug Fix: 'click' based mouse events would be sent to the wrong window in various circumstances.
  37. Bug Fix: The class name string compared in MultiLineEditbox::testClassName_impl has the wrong casing.  Added additional check using correct casing.
  38. Bug Fix: Menubar in skin schemes was using PopupMenu WidgetLook
  39. Bug Fix: Closing a popup not attached to a MenuItem was still using parent as a MenuItem even after discoving this was not the case.
  40. Bug Fix: WindowsLook imageset had incorrect sizes for Editbox frame edges.
  41. Bug Fix: Font::getRequiredTexture size would get it wrong sometimes.
  42. Bug Fix: Full initialiser lists added for Font constructors (solves some potential issues with uninitialised class data).
  43.  
  44.  
  45. Release 0.4.0
  46. =============
  47. Addition of "Falagard" XML skinning system.  Details as follows:
  48. -   RenderCache system for Window - vastly reduces the need to perform total redraws when only one widget changes.
  49. -   Core falagard support classes enabling xml skin data to be loaded and the results used for Window initialisation and rendering.
  50. -   CEGUIFalagardBase module implementing core skinned widget behaviours.
  51. -   LookNFeel (XML skin) loading via scheme files.
  52. -   FalagardMapping scheme element to allow creation of 'new' widget types within a scheme file.
  53. -   Full skinning system .pdf documentation 'mini-book'.
  54. -   XML based version of TaharezLook - as an example and to allow easy migration to the new system.
  55. -   XML based version of WindowsLook - as an example and to allow easy migration to the new system.
  56. -   "Vanilla GUI" - a simple XML based skin.  Special thanks to Shane Parker for permission to use his imagery.
  57.  
  58. Added: 'Unified' co-ordinate system allowing specification of relative and absolute components simultaneously.
  59. Added: Window alignment options allowing child windows to be positioned offset from centre, right, and bottom points as well as the usual left and top.
  60. Added: Ability to create an imageset directly from an image file.
  61. Added: Added line number to error message for Xerces XML parsing errors.
  62. Added: Initial support for output of XML data for all core system data types (fonts, imagesets, window layouts, xml skins).
  63. Added: Renderer independant version of the original Ogre/CEGUI preview application "Demo4" in Samples.
  64. Added: Renderer independant version of the original Ogre/CEGUI preview application "Demo6" in Samples.
  65. Added: Renderer independant version of the original Ogre/CEGUI preview application "Demo7" in Samples.
  66. Added: Renderer independant version of the original Ogre/CEGUI preview application "Demo8" in Samples.
  67. Added: Support to Window class for a collection of named user-data strings.
  68. Added: Modal window feature.
  69. Added: Missing Lua bindings for some System based Tooltip stuff.
  70. Added: Missing Lua bindings for Menusystem widgets.
  71. Added: Lua module 'toKeyEventArgs' helper 
  72. Added: An attempt at protecting the code from min/max preprocessor macros; as defined in MS Windows headers.
  73. Added: Logging of CEGUI version number.
  74. Added: The 'look' modules now have the ability to register all available widget types; saves listing them all in a scheme!
  75. Added: Support to the Lua module for FontFlags to allow direct loading of TTF fonts from script without using .font files.
  76. Added: Base Window class virtual method 'performChildWindowLayout'.  Replacing many widget's own 'layoutChildComponents' methods.
  77. Added: Facility for the system to auto-generate window names -  for use in cases where the user is too idle to think up names for themselves ;)
  78.  
  79. Modified: Relaxation of many ordering restrictions within validated XML data files.
  80. Modified: Samples framework has had some minor improvments, and can now exit properly!
  81. Modified: Various improvments and additional options for linux configure.
  82. Modified: Lua scripting module renamed to CEGUILua (Win32 systems).
  83. Modified: Switched AC_DISABLE_STATIC & AM_PROG_LIBTOOL around due to a warning.
  84. Modified: Disabled building of static libraries under Linux.
  85. Modified: Window::initialise method now called by WindowManager when it creates a window, rather than having each factory do this itself.
  86. Modified: Major cleanup of the main file for the 'look' modules.
  87. Modified: Changed CEGUIBASE_API to CEGUIEXPORT throughout the code.  This is in preparation for some Linux ABI improvements.
  88. Modified: Various widget classes disregarded the alpha component of set colours; the alpha component of user specified colours is now respected.
  89. Modified: Updated the WindowsLook caret-cursor to greatly improve visibility!
  90. Modified: Made child window index positions stable.
  91. Modified: Fixed hacky z-order change implementations.
  92.  
  93. Bug Fix: Issue on some distros caused by use of AC_FUNC_MALLOC macro in configure.ac
  94. Bug Fix: Issues with samples framework not compiling when none of the renderer modules are available.
  95. Bug Fix: linux makefiles updated so 'make dist' works properly again.
  96. Bug Fix: Various fixes made to the MSVC++ 7.0 solution and projects.
  97. Bug Fix: Unified the tests for linux platform to always check for definition of: __linux__
  98. Bug Fix: Xerces based XML parser was not throwing exceptions, causing no useful logging to occur.
  99. Bug Fix: Some tool-tip API docs were incorrect.
  100. Bug Fix: Window::onEnabled & Window::onDisabled were not called when a window state changed via inherited state from an ancestor window.
  101. Bug Fix: Font class modified to force auto-hinting use for rendering glyphs.
  102. Bug Fix: Font class modified to properly render glyphs in mono mode (AA off)
  103. Bug Fix: Fixed some uint/ColourRect/String CEGUILua issues.
  104. Bug Fix: TinyXMLParser::parseXMLFile implementation was not reentrant, causing issues with nested loading of XML files (specifically static/bitmapped fonts).
  105. Bug Fix: MultiLineEditbox would throw std::out_of_range sometimes when setting the text via setText().
  106.  
  107.  
  108. Release 0.3.0
  109. =============
  110. Total refactoring of XML parsing system.  Details as follows:
  111. -   Removed XMLHandlerHelper files.
  112. -   Added XMLParser/XMLHandler abstract classes.
  113. -   Added XMLAttributes class
  114. -   Added optional embedded version of TinyXML - including efficiency fix (patch #1180435).
  115. -   Added optional TinyXML based implementation of XMLParser.
  116. -   Added optional Xerces-C++ based implementation of XMLParser.
  117. -   Added overloaded System constructors allowing a custom XML parser to be used.
  118.  
  119. Added: Menu widget set (currently available for WindowsLook module only).
  120. Added: Generic drag/drop support widgets.
  121. Added: Write-only "ColumnHeader" property to MultiColumnList allowing specification of columns within XML layouts.
  122. Added: Read-only "RowCount" property to MultiColumnList to return the number of rows in the list.
  123. Added: Support for IDs to MultiColumnList rows, allowing easier access to rows (since index values can change).
  124. Added: Lua based ScriptModule (including optional embedded lua and toloua++) for Win32 and Linux users.
  125. Added: resourceGroup parameter to executeScriptFile methods.
  126. Added: Scripted event handler support extensions plus typo fixes.  Special thanks to lindquist.
  127. Added: Samples support framework (Win32 and Linux)
  128. Added: 'FirstWindow' sample. (Win32 and Linux)
  129. Added: OpenGLRenderer::setDisplaySize member function to enable display size changes to be notified.
  130. Added: Config file setting to allow specification of logging level.
  131. Added: Option to make the 'rise on click' default behaviour optional.  Based on idea from patch #1124682.
  132. Added: Alt keys as a system key.  Patch #1170194.
  133. Added: Irrlicht renderer for Linux users.
  134. Added: Justified text formatting options (patch #1160562 from ChrisKang)
  135. Added: typedef to define DefaultWindow (allowing use of new name in code rather than old DefaultGUISheet class)
  136. Added: Image::getSourceTextureArea method.
  137. Added: argb_t to represent ARGB colour values instead of ulong.
  138. Added: Implementation of 'dead pool' for deferred deletion of Window objects (allows Window destruction from within own event handlers)
  139. Added: New option to Window to state whether 'captured' inputs are distributed to child windows.  (Fixes various behavioural bugs)
  140.  
  141. Modified: Changed ResourceProvider system to support 'unloadRawDataContainer' method, to resolve various memory related issues (Patch #1176745)
  142. Modified: Xerces schema loading to try to get the schema file from the same directory as the xml file being loaded when the default path fails.
  143. Modified: Changed logger from using gmtime to localtime.
  144. Modified: Changed CEGUIBASE_API to CEGUIEXPORT throughout the code.  This is in preparation for some Linux ABI improvements.
  145. Modified: Changed FrameWindow titlebar imagery rendering under WindowsLook to look better when titlebar is larger than 'normal'.
  146. Modified: MSVC build to fix alot of compile warnings when including CEGUI from outside the project.
  147. Modified: occurances of 'const static' with 'static const' (via a patch from Clay)
  148. Modified: Logging system so logging begins earlier in system creation.
  149. Modified: EventSet::fireEvent so that global event is fired before the local instance event.  (Request #1144062).
  150. Modified: FontManager now automatically sets the first Font created as the default.
  151. Modified: Updated Irrlicht renderer components to take resourceGroup parameter.
  152.  
  153. Bug Fix: testClassName const correctness.
  154. Bug Fix: Made System::handleDisplaySizeChange notify imageset manager and fontmanager of change.
  155. Bug Fix: OpenGL types causing issues on MacOS X Tiger (patch #1200625)
  156. Bug Fix: Added /usr/X11R6/include as a include search path for OSX
  157. Bug Fix: Empty lines issue with word-wrapped text formatting (patch #1175118)
  158. Bug Fix: Win32 fix (fabs -> fabsf to avoid double-to-float warning treated as error)
  159. Bug Fix: MultiColumnList::setItem was setting owner on new item without checking new item was valid.
  160. Bug Fix: MultiColumnList::setItem checking 'isAutoDeleted' on new item (which could also be null), instead of old item.
  161. Bug Fix: Vertical scrollbar access properties were broken.
  162. Bug Fix: Anti-alias setting for fonts.
  163. Bug Fix: Issues where Logger was needed before it was created.
  164. Bug Fix: Horizontal scrollbar would sometimes have wrong length.
  165. Bug Fix: Issues with STLport where functions are not correctly in the std (_STL) namespace.
  166. Bug Fix: Debug guard controlling Insane level logging was around the wrong way.
  167.  
  168.  
  169. Release 0.2.1
  170. =============
  171. Added: Spinner widget.
  172. Added: ScrollablePane widget.
  173. Added: Tooltip widget.
  174. Added: RPM spec file.
  175.  
  176. Modified: In the Xcode build, changed framework name to CEGUI instead of CEGUIBase (for Ogre's CEGUI renderer).
  177. Modified: Promoted custom image properties for PushButton from 'look' modules into base class.
  178.  
  179. Bug Fix: Some delete/delete[] issues for String class fixed, moved all String delete usages into .cpp file.
  180. Bug Fix: Modification to ensure stable index values for tab buttons and tab content.
  181. Bug Fix: Spacing between non-autoscaled bitmapped font glyphs was incorrect.
  182. Bug Fix: FrameWindow title bar and close button were still clipped when clippedByParent was false.
  183. Bug Fix: Text extents calculations were incorrect under certain cicumstances.
  184. Bug Fix: Added a work around for over-optimisation bug in MulticolumnList under VC++.
  185. Bug Fix: WindowsLook titlebar was not using correct set caption colour.
  186. Bug Fix: OpenGL configure options did not function correctly.
  187. Bug Fix: In System constructors the logfile parameter was missing a const specifier.
  188. Bug Fix: Direct3D renderers had missing cull mode state setting.
  189. Bug Fix: SimpleTimer::elapsed was returning incorrect values.
  190. Bug Fix: Removed incorrect usage of Win32 dll import/export construct from enums.
  191. Bug Fix: List box items (ListboxTextItem) suffered from a cumulative alignment issue.
  192. Bug Fix: Fixed a type conversion warning in CEGUIFont for MSVC++.
  193. Bug Fix: Baseline and Linespacing calculations for bitmapped / static fonts was incorrect.
  194. Bug Fix: 'make dist' fixed on linux.
  195.  
  196.  
  197. Release 0.2.0
  198. =============
  199. Added: Support for resource provider resource groups to loading & parsing methods.
  200. Added: MouseButtonDown event auto-repeat feature.
  201. Added: System::getSystemKeys method to return current system keys value.
  202. Added: New setting in Window to receive muliple mouse down events instead of double/triple clicks.
  203. Added: Ability to define split direction of triangles used for quads
  204. Added: Font::getFontHeight method to return pixel height of largest glyph.
  205. Added: Error logging for when freetype fails to load a glyph.
  206. Added: Various new methods to TabCrontrol base class.
  207. Added: Callback support when setting properties loaded from XML layout files.
  208. Added: Checking and inspection of default values for Properties system.
  209. Added: Global events system.
  210. Added: Vertical VU-Meter style progress bar to Taharez Look.
  211. Added: Extensions to font system which give support for scaling the text output.
  212. Added: Support for MSVC++ 6.0 native STL implementation.
  213. Added: Font::getPointSize() method to return point size of a dynamic font.
  214. Added: Mechanism for Direct3D renderers to detect display size changes and fire EventDisplaySizeChanged.
  215. Added: Lost device recovery for both Direct3D renderer modules.
  216. Added: SchemeManager::unloadAllSchemes method.
  217. Added: Initial system for time based updates / window automation.
  218. Added: CEGUI::System constructor overload to allow custom ResourceProvider to be specified when also using a ScriptModule.
  219. Added: OpenGL renderer.
  220. Added: uint32 and uint16 datatypes.
  221.  
  222. Modified: Layout loading code to properly throw CEGUI errors out of xercesc parser.
  223. Modified: Fixed font support under AMD64.
  224. Modified: Changed all const strings in the base library to be of type CEGUI::String instead of UTF-8 buffers.
  225. Modified: Removed public dependency on xerces-c (still required for base library itself though).
  226. Modified: Replaced dependency boost::regex with embedded copy of pcre.
  227. Modified: Replaced dependency boost::timer with SimpleTimer class.
  228. Modified: TabCobtrol widget now uses '__auto_' naming scheme for generated child widgets.
  229. Modified: Global update of website, contact, and copyright information.
  230.  
  231. Bug Fix: moveToBack was operating upon and adding target window to its own child list instead of its parents.
  232. Bug Fix: Editbox changed to allow text to be altered in onTextChanged/EventTextChanged without causing carat position to become invalid.
  233. Bug Fix: Font updated to use correct values for Linespacing and Baseline.
  234. Bug Fix: Added various missing includes.
  235. Bug Fix: Minor adjustment to layout in TLComboEditbox to fix text clipping issue.
  236. Bug Fix: Text alignment within gui elements.
  237. Bug Fix: Drag-Sizing for segments would be incorrect if they had negative relative 'left' positions.
  238. Bug Fix: Some component widget layouts were getting incorrect sizes.
  239. Bug Fix: Fixed minor imagery alignment issue for Taharez frame window imagery.
  240. Bug Fix: Child windows would sometimes 'jump' slightly upon initial activation of a parent window.
  241. Bug Fix: System::setGUISheet updated to trigger re-calculation of relative co-ordinates when a new window is attached as root.
  242. Bug Fix: removed use of void* in properties system to ensure correct casting behaviour.
  243. Bug Fix: All imagery aligned to whole pixels resolving twinkling and blurring issues.
  244. Bug Fix: Constructor overload and support methods to allow successful use of 'pure' D3D devices.
  245. Bug Fix: Made sure events were added to the EventSet in Window before making any calls that may fire an event.
  246. Bug Fix: Various other minor tweaks & fixes.
  247.  
  248. OgreGUIRenderer moved from CEGUI codebase into Ogre codebase (with the following initial changes):
  249. Modified: Switched HBU_DYNAMIC_WRITE_ONLY for HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE in Ogre renderer to improve performance under D3D.
  250. Modified: OGRE renderer to work under AMD64.
  251. Modified: Ogre renderer to compile against OGRE 1.0 (Ogre >= 1.0.0 is now required)
  252. Bug Fix: Missing shading type and rasterisation mode settings in Ogre renderer added.
  253.  
  254.  
  255. Release 0.1.1
  256. =============
  257. Updated TODO file to reflect features already implemented in this branch.
  258. Bug Fix: Missing shading type and rasterisation mode settings in Ogre renderer
  259. Bug Fix: Removed erroneous use of D3DLOCK_DISCARD flag in D3D8 renderer (texture.cpp)
  260. Bug Fix: Dates in the log were using incorrect value for the month.
  261. Bug Fix: Added missing stdio.h include in CEGUIWindow.cpp.
  262. Bug Fix: Font attribute "AntiAlias" was incorrectly documented as "AntiAliased".
  263. Bug Fix: d_resourceProvider member in Renderer base class was not being initialised
  264. Bug Fix: corrected version information in configure.ac.
  265. Bug Fix: Resolved assert issues related to the Ogre debug memory manager.
  266. Bug Fix: Y Spacing calculation on certain ttf fonts was incorrect.
  267. Bug Fix: Added missing _STLP_DEBUG defines in the MSVC++ 7.0 projects.
  268.  
  269.  
  270. Release 0.1.0
  271. =============
  272. Initial release.
  273.